120 research outputs found
Formalising Confluence in PVS
Confluence is a critical property of computational systems which is related
with determinism and non ambiguity and thus with other relevant computational
attributes of functional specifications and rewriting system as termination and
completion. Several criteria have been explored that guarantee confluence and
their formalisations provide further interesting information. This work
discusses topics and presents personal positions and views related with the
formalisation of confluence properties in the Prototype Verification System PVS
developed at our research group.Comment: In Proceedings DCM 2015, arXiv:1603.0053
Type Soundness for Path Polymorphism
Path polymorphism is the ability to define functions that can operate
uniformly over arbitrary recursively specified data structures. Its essence is
captured by patterns of the form which decompose a compound data
structure into its parts. Typing these kinds of patterns is challenging since
the type of a compound should determine the type of its components. We propose
a static type system (i.e. no run-time analysis) for a pattern calculus that
captures this feature. Our solution combines type application, constants as
types, union types and recursive types. We address the fundamental properties
of Subject Reduction and Progress that guarantee a well-behaved dynamics. Both
these results rely crucially on a notion of pattern compatibility and also on a
coinductive characterisation of subtyping
Principal Typings in a Restricted Intersection Type System for Beta Normal Forms with De Bruijn Indices
The lambda-calculus with de Bruijn indices assembles each alpha-class of
lambda-terms in a unique term, using indices instead of variable names.
Intersection types provide finitary type polymorphism and can characterise
normalisable lambda-terms through the property that a term is normalisable if
and only if it is typeable. To be closer to computations and to simplify the
formalisation of the atomic operations involved in beta-contractions, several
calculi of explicit substitution were developed mostly with de Bruijn indices.
Versions of explicit substitutions calculi without types and with simple type
systems are well investigated in contrast to versions with more elaborate type
systems such as intersection types. In previous work, we introduced a de Bruijn
version of the lambda-calculus with an intersection type system and proved that
it preserves subject reduction, a basic property of type systems. In this paper
a version with de Bruijn indices of an intersection type system originally
introduced to characterise principal typings for beta-normal forms is
presented. We present the characterisation in this new system and the
corresponding versions for the type inference and the reconstruction of normal
forms from principal typings algorithms. We briefly discuss the failure of the
subject reduction property and some possible solutions for it
A deductive calculus for conditional equational systems with built-in predicates as premises
Conditional equationally defined classes of many-sorted algebras, whose premises are conjunctions of (positive) equations and builtin predicates (constraints) in a basic first-order theory, are introduced. These classes are important in the field of algebraic specification because the combination of equational and built-in premises give rise to a type of clauses which is more expressive than purely conditional equations. A sound and complete deductive system is presented and algebraic aspects of these classes are investigated. In particular, the existence of free algebras is examined
Formalizing the Confluence of Orthogonal Rewriting Systems
Orthogonality is a discipline of programming that in a syntactic manner
guarantees determinism of functional specifications. Essentially, orthogonality
avoids, on the one side, the inherent ambiguity of non determinism, prohibiting
the existence of different rules that specify the same function and that may
apply simultaneously (non-ambiguity), and, on the other side, it eliminates the
possibility of occurrence of repetitions of variables in the left-hand side of
these rules (left linearity). In the theory of term rewriting systems (TRSs)
determinism is captured by the well-known property of confluence, that
basically states that whenever different computations or simplifications from a
term are possible, the computed answers should coincide. Although the proofs
are technically elaborated, confluence is well-known to be a consequence of
orthogonality. Thus, orthogonality is an important mathematical discipline
intrinsic to the specification of recursive functions that is naturally applied
in functional programming and specification. Starting from a formalization of
the theory of TRSs in the proof assistant PVS, this work describes how
confluence of orthogonal TRSs has been formalized, based on axiomatizations of
properties of rules, positions and substitutions involved in parallel steps of
reduction, in this proof assistant. Proofs for some similar but restricted
properties such as the property of confluence of non-ambiguous and (left and
right) linear TRSs have been fully formalized.Comment: In Proceedings LSFA 2012, arXiv:1303.713
Nominal C-Unification
Nominal unification is an extension of first-order unification that takes
into account the \alpha-equivalence relation generated by binding operators,
following the nominal approach. We propose a sound and complete procedure for
nominal unification with commutative operators, or nominal C-unification for
short, which has been formalised in Coq. The procedure transforms nominal
C-unification problems into simpler (finite families) of fixpoint problems,
whose solutions can be generated by algebraic techniques on combinatorics of
permutations.Comment: Pre-proceedings paper presented at the 27th International Symposium
on Logic-Based Program Synthesis and Transformation (LOPSTR 2017), Namur,
Belgium, 10-12 October 2017 (arXiv:1708.07854
On Nominal Syntax and Permutation Fixed Points
We propose a new axiomatisation of the alpha-equivalence relation for nominal
terms, based on a primitive notion of fixed-point constraint. We show that the
standard freshness relation between atoms and terms can be derived from the
more primitive notion of permutation fixed-point, and use this result to prove
the correctness of the new -equivalence axiomatisation. This gives rise
to a new notion of nominal unification, where solutions for unification
problems are pairs of a fixed-point context and a substitution. Although it may
seem less natural than the standard notion of nominal unifier based on
freshness constraints, the notion of unifier based on fixed-point constraints
behaves better when equational theories are considered: for example, nominal
unification remains finitary in the presence of commutativity, whereas it
becomes infinitary when unifiers are expressed using freshness contexts. We
provide a definition of -equivalence modulo equational theories that
take into account A, C and AC theories. Based on this notion of equivalence, we
show that C-unification is finitary and we provide a sound and complete
C-unification algorithm, as a first step towards the development of nominal
unification modulo AC and other equational theories with permutative
properties
- …